package wujinye.com.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import java.util.UUID;
import java.util.logging.SimpleFormatter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StrUtil {


    /**
     * 判断用户邮箱输入是否符合邮箱格式
     *
     * @param email
     * @return 符合则返回true，否则返回false
     */
    public static boolean checkEmail(String email) {
        // 邮箱正则表达式
        String regEx1 = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
        Pattern pattern = Pattern.compile(regEx1);
        Matcher matcher = pattern.matcher(email);
        if (matcher.matches()) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * 判断str字符串非空
     *
     * @param str
     * @return str非空则返回true，空则返回false
     */

    public static boolean checkString(String str) {
        if (null != str && !"".equals(str)) {
            return true;
        }
        return false;
    }

    /**
     * 生成随机验证码，位数为6位(100000 - 999999)
     *
     * @return 以字符串类型返回验证码
     */
    public static String randomCode() {
        // random * (max - min) + min
        int num = (int) ((Math.random() * 899999 + 100000));
        return num + "";
    }

    /**
     * 判断字符串中是否包含中文
     * @param str 待校验的字符串
     * @return true为有中文，false为无中文
     */
    public static boolean isContainChinese(String str){
        Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
        Matcher m = p.matcher(str);
        return m.find();
    }

    /**
     * 生成一个UUID
     * @return 返回一个UUID字符串
     */
    public static String getUUID(){
        UUID uuid = UUID.randomUUID();
        return uuid.toString();
    }

    /**
     * 把空字符串变成null
     * @param str
     * @return
     */
    public static String emptyToNull(String str){
        if (!checkString(str)){
            return null;
        }
        return str;
    }

    /**
     * 把字符串转换为Integer类型
     * @param str
     * @return
     */
    public static Integer stringToInteger(String str){
        Integer num = null;
        if (checkString(str)){
            num = Integer.parseInt(str);
        }
        return num;
    }
}
